import LoginUser from '@model/entity/LoginUser/LoginUser'
import SHBEditionEnum from '@model/enum/SHBEditionEnum';

export interface DDConfig {
  timeStamp: number
  agentId: number
  corpId: string
  signature: string
  nonceStr: string
}

export interface UserStateMap {
  [x: string]: string
}

export interface Menu {
  parent: string
  menuKey: string
  menuIcon: string
  name: string
  url: string
  order: number
}

export interface RemoteLoginRemind {
  loginTime: number
  address: string
  ip: string
  client: string
  account: string
  status: string
  content: string
}

export default interface RootWindowInitData {
  isAdmin?: boolean;
  isFwyAdmin?: boolean;
  isKfyAdmin?: boolean;
  isCalendar?: boolean;
  isShowUserGuide?: boolean;
  IS_WECHAT_NAME?: number;
  // 是否按团队派单
  allotByTag?: boolean
  // 钉钉签名配置
  ddConfig?: DDConfig
  // 通过工单设置升级为3.0后
  confirmSetting?: boolean
  // 环境变量
  env?: string
  // 来源
  from?: any
  // 当前用户是否开启工单灰度
  // 用户选择新旧版工单标识
  isUserTaskGrayFunction?: boolean
  // 当前租户是否开启工单灰度
  isTaskGrayFunction?: boolean
  // 是否开启满意度灰度
  customerSatisfaction?: boolean
  // 菜单导航栏
  menus?: Menu[]
  // 是否开启超级二维码
  openSuperCodePro?: boolean
  // 首页加载需要打开的tab页面
  pcUrl?: any
  // 版本号信息
  releaseVersion?: string
  // 是否开启工单新版设置
  restructSetting?: boolean
  // 专属客服二维码
  saleManagerQRCode?: string
  saleManagerGroupQRCode?: string
  // 钉钉服务群地址
  serviceGroupUrl?: string
  /** 
   * 按用户工作状态筛选 指派工单负责人时不显示以下状态的用户
   * 工单指派状态用户黑名单
   */
  stateBlackList?: any[]
  /* 是否开启了scrm功能 */
  scrm?: boolean
  // 租户类型 区分企业微信端和独立端
  tenantType?: number
  // 用户工作状态对象
  userStateMap?: UserStateMap
  // 是否开启新用户向导
  userGuide?: boolean
  // 用户授权人数
  userGuideNum?: number
  // 登录用户
  user?: LoginUser
  weChatService?: boolean
  isApplyGray?: boolean
  isPay?: number
  isProviderUser?:boolean
  // 是否是新版售后宝（服务云、客服云、云仓）
  cloudVersion?: boolean
  // 新版售后宝的版本列表
  editionList?: SHBEditionEnum[]
  // 新版售后宝的产品线列表
  productLineList?: any[]
  // 异地登录信息
  remoteLoginRemind?: RemoteLoginRemind
}

